package edu.yzu.testspringboot002.mapper;

import edu.yzu.testspringboot002.po.Doctor;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface DoctorsMapper {
    // 插入一条医生记录
    int insertDoctor(Doctor doctor);

    // 根据医生 ID 查询医生信息
    Doctor selectDoctorById(Integer id);

    // 根据医生姓名查询医生信息
    List<Doctor> selectDoctorsByName(String userName);

    // 更新医生信息
    int updateDoctor(Doctor doctor);

    // 删除医生信息
    int deleteDoctorById(Integer id);

    // 根据科室代码查询医生列表
    List<Doctor> selectDoctorsByDeptCode(String deptCode);

    // 根据登录状态查询医生列表
    List<Doctor> selectDoctorsByLoginStatus(Integer loginStatus);

    // 根据审核状态查询医生列表
    List<Doctor> selectDoctorsByAuditStatus(Integer auditStatus);

    // 查询所有医生信息
    List<Doctor> selectAllDoctors();

    // 根据创建时间范围查询医生列表
    List<Doctor> selectDoctorsByCreateTimeRange(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    List<Doctor>  selectDoctorByPhone(String phone);  // 根据手机号查询医生信息
}